package mx.ipn.escom.redes.gestionarcategoriaequipo.business;

import java.util.List;

import javax.inject.Named;
import javax.inject.Singleton;

import org.springframework.transaction.annotation.Transactional;

import mx.ipn.escom.redes.equipo.model.CategoriaEquipo;
import mx.ipn.escom.redes.gestionarcategoriaequipo.dao.CategoriaEquipoDao;

@Singleton
@Named("categoriaEquipoBs")
public class CategoriaEquipoBs {
	
	private CategoriaEquipoDao categoriaEquipoDao;
	
	@Transactional
	public List<CategoriaEquipo> findAll(){
		return categoriaEquipoDao.findAll();
	}
	
	@Transactional
	public CategoriaEquipo findById(Integer id){
		return categoriaEquipoDao.findById(id);
	}
	
	@Transactional
	public List<CategoriaEquipo> findByExample(CategoriaEquipo entidad){
		return categoriaEquipoDao.findByExample(entidad);
	}
	
	private CategoriaEquipo save (CategoriaEquipo entidad){
		return categoriaEquipoDao.save(entidad);
	}
	
	private CategoriaEquipo update(CategoriaEquipo entidad){
		return categoriaEquipoDao.update(entidad);
	}
	
	private CategoriaEquipo delete(CategoriaEquipo entidad) {
		return categoriaEquipoDao.delete(entidad);
	}
	
	@Transactional(rollbackFor = Exception.class)
	public synchronized void guardar(CategoriaEquipo modelo){
		save(modelo);
	}
	
	@Transactional(rollbackFor = Exception.class)
	public void modificar(CategoriaEquipo modelo){
		update(modelo);
	}
	
	@Transactional(rollbackFor = Exception.class)
	public void eliminar(CategoriaEquipo modelo){
		delete(modelo);
	}

	/**
	 * @return the categoriaEquipoDao
	 */
	public CategoriaEquipoDao getCategoriaEquipoDao() {
		return categoriaEquipoDao;
	}

	/**
	 * @param categoriaEquipoDao the categoriaEquipoDao to set
	 */
	public void setCategoriaEquipoDao(CategoriaEquipoDao categoriaEquipoDao) {
		this.categoriaEquipoDao = categoriaEquipoDao;
	}
	
	
}
